package org.qqcui.designpattern.patterns.builder.builder.builder;

import org.qqcui.designpattern.patterns.builder.builder.product.House;

/**
 * 造房子的抽象类，定义了建造房子的抽象步骤交给子类去实现，抽象建造者角色
 *
 * @author cuiqingqiang
 * @version 1.0
 * @date 2022/4/28 15:54
 **/
public abstract class HouseBuilder {
    protected House house = new House();

    /**
     * 打地基
     */
    public abstract void buildBasic();

    /**
     * 砌墙
     */
    public abstract void buildWalls();

    /**
     * 封顶
     */
    public abstract void roofed();

    public House buildHouse() {
        return house;
    }
}
